/**
* BAUpdateResponseType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.
*/
package PayPalAPI.api.ebay;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import CoreComponentTypes.apis.ebay.BasicAmountType;
import eBLBaseComponents.apis.ebay.AckCodeType;
import eBLBaseComponents.apis.ebay.AddressStatusCodeType;
import eBLBaseComponents.apis.ebay.BAUpdateResponseDetailsType;
import eBLBaseComponents.apis.ebay.CountryCodeType;
import eBLBaseComponents.apis.ebay.CurrencyCodeType;
import eBLBaseComponents.apis.ebay.MerchantPullStatusCodeType;
import eBLBaseComponents.apis.ebay.PayPalUserStatusCodeType;
import eBLBaseComponents.apis.ebay.SeverityCodeType;
public class BAUpdateResponseType extends eBLBaseComponents.apis.ebay.AbstractResponseType implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -1686185722357656479L;
private static final Log LOG = LogFactory.getLog(BAUpdateResponseType.class.getName());
private eBLBaseComponents.apis.ebay.BAUpdateResponseDetailsType BAUpdateResponseDetails;
public BAUpdateResponseType() {
BAUpdateResponseDetails = new BAUpdateResponseDetailsType();
}
public BAUpdateResponseType(
eBLBaseComponents.apis.ebay.BAUpdateResponseDetailsType BAUpdateResponseDetails) {
this.BAUpdateResponseDetails = BAUpdateResponseDetails;
}
public BAUpdateResponseType(InputStream _is) {
this();
BufferedReader reader = new BufferedReader(new InputStreamReader(_is));
String currentLine = null;
Map<String, String> delayedFields = new HashMap<String, String>();
try {
while ((currentLine = reader.readLine()) != null) {
String[] pairs = StringUtils.split(currentLine, "&");
if (LOG.isDebugEnabled()) {
LOG.debug("Read line [" + currentLine + "], split into " + pairs.length + " pairs.");
}
for (int i = 0; i < pairs.length; i++) {
String[] nvp = StringUtils.split(pairs[i], "=");
String name = nvp[0];
String value = null;
if (nvp.length == 2) {
value = URLDecoder.decode(nvp[1], "UTF-8");
}
if (LOG.isDebugEnabled()) {
LOG.debug("Read pair [" + name + "]/[" + value + "]");
}
if (isCommonField(name)) {
processCommonField(name, value);
}
// Process fields
else if (name.equals(FIELD_MPID)) {
getBAUpdateResponseDetails().setMpID(value);
}
else if (name.equals(FIELD_EMAIL)) {
getBAUpdateResponseDetails().getPayerInfo().setPayer(value);
}
else if (name.equals(FIELD_PAYERID)) {
getBAUpdateResponseDetails().getPayerInfo().setPayerID(value);
}
else if (name.equals(FIELD_PAYERSTATUS)) {
getBAUpdateResponseDetails().getPayerInfo().setPayerStatus(PayPalUserStatusCodeType.fromString(value));
}
else if (name.equals(FIELD_SALUTATION)) {
getBAUpdateResponseDetails().getPayerInfo().getPayerName().setSalutation(value);
}
else if (name.equals(FIELD_FIRSTNAME)) {
getBAUpdateResponseDetails().getPayerInfo().getPayerName().setFirstName(value);
}
else if (name.equals(FIELD_MIDDLENAME)) {
getBAUpdateResponseDetails().getPayerInfo().getPayerName().setMiddleName(value);
}
else if (name.equals(FIELD_LASTNAME)) {
getBAUpdateResponseDetails().getPayerInfo().getPayerName().setLastName(value);
}
else if (name.equals(FIELD_SUFFIX)) {
getBAUpdateResponseDetails().getPayerInfo().getPayerName().setSuffix(value);
}
else if (name.equals(FIELD_COUNTRYCODE)) {
getBAUpdateResponseDetails().getPayerInfo().setPayerCountry(CountryCodeType.fromString(value));
}
else if (name.equals(FIELD_BUSINESS)) {
getBAUpdateResponseDetails().getPayerInfo().setPayerBusiness(value);
}
else if (name.equals(FIELD_MPSTATUS)) {
getBAUpdateResponseDetails().getMerchantPullInfo().setMpStatus(MerchantPullStatusCodeType.fromString(value));
}
else if (name.equals(FIELD_MPMAX)) {
delayedFields.put(FIELD_MPMAX, value);
}
else if (name.equals(FIELD_MPCUSTOM)) {
getBAUpdateResponseDetails().getMerchantPullInfo().setMpCustom(value);
}
else if (name.equals(FIELD_DESC)) {
getBAUpdateResponseDetails().getMerchantPullInfo().setDesc(value);
}
else if (name.equals(FIELD_INVNUM)) {
getBAUpdateResponseDetails().getMerchantPullInfo().setInvoice(value);
}
else if (name.equals(FIELD_CUSTOM)) {
getBAUpdateResponseDetails().getMerchantPullInfo().setCustom(value);
}
else if (name.equals(FIELD_PAYMENTSOURCEID)) {
getBAUpdateResponseDetails().getMerchantPullInfo().setPaymentSourceID(value);
}
else if (name.equals(FIELD_ADDRESSID)) {
getBAUpdateResponseDetails().getPayerInfo().getAddress().setAddressID(value);
}
else if (name.equals(FIELD_ADDRESSSTATUS)) {
getBAUpdateResponseDetails().getPayerInfo().getAddress().setAddressStatus(AddressStatusCodeType.fromString(value));
}
else if (LOG.isErrorEnabled()) {
LOG.error("Unknown field returned in BillAgreementUpdate: [" + name + "]");
}
}
// Process the delayed fields
if (delayedFields.containsKey(FIELD_MPMAX)) {
BasicAmountType amount = new BasicAmountType((String) delayedFields.get(FIELD_MPMAX));
if (delayedFields.containsKey(FIELD_CURRENCYCODE)) {
amount.setCurrencyID(CurrencyCodeType.fromString((String) delayedFields.get(FIELD_CURRENCYCODE)));
}
getBAUpdateResponseDetails().getMerchantPullInfo().setMpMax(amount);
}
}
} catch (Exception e) {
if (LOG.isErrorEnabled()) {
LOG.error("Exception caught processing response: " + e.getLocalizedMessage(), e);
}
setAck(AckCodeType.Failure);
addSeverityCode("L_SEVERITYCODE0", SeverityCodeType.Error.toString());
addErrorCode("L_ERRORCODE0", "JC1000");
addLongMessage("L_LONGMESSAGE0", "Error processing BAUpdateRequest API call");
addShortMessage("L_SHORTMESSAGE0", "Error processing request");
}
}
/**
* Gets the BAUpdateResponseDetails value for this BAUpdateResponseType.
*
* @return BAUpdateResponseDetails
*/
public eBLBaseComponents.apis.ebay.BAUpdateResponseDetailsType getBAUpdateResponseDetails() {
return BAUpdateResponseDetails;
}
/**
* Sets the BAUpdateResponseDetails value for this BAUpdateResponseType.
*
* @param BAUpdateResponseDetails
*/
public void setBAUpdateResponseDetails(eBLBaseComponents.apis.ebay.BAUpdateResponseDetailsType BAUpdateResponseDetails) {
this.BAUpdateResponseDetails = BAUpdateResponseDetails;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof BAUpdateResponseType)) return false;
BAUpdateResponseType other = (BAUpdateResponseType) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = super.equals(obj) &&
((this.BAUpdateResponseDetails==null && other.getBAUpdateResponseDetails()==null) ||
(this.BAUpdateResponseDetails!=null &&
this.BAUpdateResponseDetails.equals(other.getBAUpdateResponseDetails())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = super.hashCode();
if (getBAUpdateResponseDetails() != null) {
_hashCode += getBAUpdateResponseDetails().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
}